#include "widget.h"
#include "ui_widget.h"

#include <QPainter>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::paintEvent(QPaintEvent *event)
{
    (void) event;
    // 绘图工作方法

    QPainter painter(this);

    // 绘制一个线段
    // painter.drawLine(20, 20, 200, 20);
    // painter.drawLine(QPoint(20, 100),  QPoint(200, 100));

    // 绘制一个矩形
    painter.drawRect(20, 20, 200, 20);

    //绘制一个圆形
    painter.drawEllipse(200, 200, 200, 200); // 外界矩形宽高

    // 绘制文本
    painter.drawText(0, 100, "hello");

    QPen pen;
    pen.setColor(QColor(255, 0, 0)); // 设置颜色为红色
    pen.setWidth(5); // 线条粗细
    pen.setStyle(Qt::DashLine); // 线条风格

    // 让 painter 对象应用 pen 对象
    painter.setPen(pen);

    painter.drawEllipse(400, 400, 200, 200); // 外界矩形宽高

    QBrush brush;
    brush.setColor(QColor(0, 255, 0));
    // brush.setStyle(Qt::SolidPattern); // 实心填充
    brush.setStyle(Qt::CrossPattern);
    painter.setBrush(brush);

    painter.drawEllipse(100, 100, 50, 50); // 外界矩形宽高

}

